/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package merlion.mrp.pmm.session;

import java.util.Collection;
import java.util.List;
import javax.ejb.Remote;
import merlion.mrp.pmm.entity.FinishedGood;
import merlion.mrp.ppm.entity.Product;
import merlion.scm.icm.entity.ProductInventoryRecord;

/**
 *
 * @author zhiqi chen
 */
@Remote
public interface ProductManagementSessionRemote {

    List<Double> calculateMaterialUsed(FinishedGood fg);

    boolean checkPercDifferenceFromPlannedDaily(FinishedGood fg, String productType);

    FinishedGood createFinishedGoodsRecord(FinishedGood fg, Product p);

    Product createProduct(Product p);

    Boolean exist(String batchNo);

    Collection<FinishedGood> getAllFinishedGoods();

    FinishedGood getFinishedGoodsById(Long id);

    Product getProduct(String productType);

    FinishedGood updateFinishedGoodsRecord(FinishedGood fg);

    Product updateProductBasePrice(Product product);
    
    ProductInventoryRecord createProductInventoryRecord(ProductInventoryRecord pir);
}
